Schauen wir uns weitere Grundfunktionen der Relationenalgebra an. Wir beginnen mit dem kartesischen Produkt. Das kartesische Produkt, auch als Cross Join bekannt, umfasst alle Kombinationen von Tupeln zweier Relationen, zum Beispiel einer Relation R und einer Relation S. Dabei wird jede Zeile aus der ersten Relation mit jeder Zeile aus der zweiten Relation kombiniert. Sind die Spaltennamen der beiden Relationen unterschiedlich, enthält die Ergebnistabelle alle Spalten beider Relationen. Haben Spalten denselben Namen, werden sie zur Unterscheidung um einen Hinweis auf die jeweilige Ursprungstabelle ergänzt. Die Anzahl der Zeilen ergibt sich durch Multiplikation der Zeilenzahlen der beiden Ausgangsrelationen. Ein Nachteil dieser Operation ist, dass sehr viele Kombinationen entstehen, von denen viele in der Praxis nicht benötigt werden. Dadurch können große, unübersichtliche Datenmengen entstehen. Die Mengengleichung besagt, dass die Tupel aus den beiden Relationen R und S zu neuen Tupeln kombiniert werden. Das Schaubild verdeutlicht, dass Werte aus einer Relation beibehalten und um die Werte aus der anderen in allen möglichen Kombinationen ergänzt werden. Nehmen wir an, ein Unternehmen bezieht Produkte von mehreren Lieferanten, zum Teil identische Produkte. Um alle Kombinationen aus Lieferanten und deren Produkten darzustellen, kann das kartesische Produkt genutzt werden. In SQL lässt sich das kartesische Produkt mithilfe der speziellen Anweisung "cross join" realisieren. In MariaDB, das im Jahr 2009 als Abspaltung von MySQL entstand, war diese Funktion von Anfang an verfügbar. Hier sehen wir die Bildung aller Kombinationen aus dem "Cross Join" Befehl. Man kann schon erahnen, dass es viele Kombinationen sind, obwohl die eine Relation nur fünf und die andere sieben Einträge hat. Und hier sehen wir die Verbindung des SQL-Statements mit der Relationenalgebra. R entspricht "foods", S entspricht "company", "a-eins" ist der "item-name", "a-zwei" ist die "item-unit", "b-eins" die "company-name" und "b-zwei" die "company-city". Die nächste Grundoperation ist die Vereinigung. Sie wird auch als Union bezeichnet. Bei der Vereinigung werden alle Tupel aus zwei Relationen R und S in eine neue Relation überführt. Voraussetzung ist, dass beide Relationen genau dasselbe Schema besitzen. Duplikate werden vor der Übernahme entfernt. Der Vorteil dieser Operation ist, dass redundante Tupel vermieden werden und der Speicher effizienter genutzt wird. Allerdings ist die Prüfung auf Duplikate rechenintensiv, und die strengen Voraussetzungen wie identische Anzahl und Reihenfolge der Attribute erschweren die Anwendung. Laut der Mengengleichung wird ein Tupel in die Vereinigungsrelation aufgenommen, wenn es in einer der beiden Ausgangsrelationen enthalten ist, jedoch ohne Mehrfachaufnahmen. Dadurch ist die vier-fünf-sechs nur einmal vorhanden. Hier sehen Sie einen Satz von SQL-Befehlen, die zunächst zwei neue Relationen mit derselben Struktur anlegen. Danach werden beide Tabellen mit teilweise überlappenden Inhalten, hier: zwei und drei, befüllt. Abschließend werden die beiden Tabellen per "Union" vereinigt. In Bezug zur Relationenalgebra entspricht R dann t-eins und S entspricht t-zwei. Die nächste Grundoperation ist die Differenz. Bei der Differenzoperation werden alle Tupel aus der Relation R genommen und die Tupel entfernt, die auch in der Relation S vorhanden sind. Im SQL-Standard sind dafür die Befehle "except" und "minus" vorgesehen, die MariaDB aber leider nicht unterstützt. Deshalb muss bei MariaDB die Differenz anders hergeleitet werden. Zwei SQL-Select Operationen holen sich jeweils alle Daten aus den Relationen und jedes Element der Ergebnismenge aus R beziehungsweise "Table eins" wird zurückgegeben, aber nur wenn dieses Element nicht auch in der zweiten Ergebnismenge aus S beziehungsweise "Table zwei" existiert. Die letzte Grundoperation ist die Umbenennung. Diese wird mit dem griechischen Buchstaben Rho beschrieben. Die Umbenennung ist wichtig, um Joins von unterschiedlich benannten Relationen zu ermöglichen, kartesische Produkte zu ermöglichen, wo es gleiche Attributnamen gibt, insbesondere auch mit der gleichen Relation Mengenoperationen zwischen Relationen mit unterschiedlichen Attributen zu ermöglichen. Laut Mengengleichung werden bei der Umbenennung die Tupel einfach übernommen, jedoch mit angepassten Attributnamen, während der Inhalt erhalten bleibt. Ein praktisches Anwendungsbeispiel ist auch die Korrektur von Schreibfehlern nach der Erstellung einer neuen Relation. In MariaDB SQL lautet der Befehl der Umbenennung "ALTER TABLE" gefolgt von dem Namen der Relation R, "CHANGE" Name der alten Spalte B zu dem neuen Namen X.